package cn.iocoder.boot.types.common;

/**
 * 系统通用常量定义类
 * 包含系统中使用的各种分隔符常量，以及，Redis缓存键的前缀定义
 */
public class Constants {

    // ==================== 分隔符常量 ====================
    /** 逗号分隔符 */
    public final static String SPLIT = ",";

    /** 冒号分隔符 */
    public final static String COLON = ":";

    /** 空格分隔符 */
    public final static String SPACE = " ";

    /** 下划线分隔符 */
    public final static String UNDERLINE = "_";

    /**
     * Redis缓存键前缀定义类
     * 用于规范Redis中各类数据的键命名，避免键名冲突
     */
    public static class RedisKey {
        /** 活动信息缓存键前缀 */
        public static String ACTIVITY_KEY = "big_market_activity_key_";

        /** 活动SKU信息缓存键前缀 */
        public static String ACTIVITY_SKU_KEY = "big_market_activity_sku_key_";

        /** 活动次数统计缓存键前缀 */
        public static String ACTIVITY_COUNT_KEY = "big_market_activity_count_key_";

        /** 抽奖策略信息缓存键前缀 */
        public static String STRATEGY_KEY = "big_market_strategy_key_";

        /** 抽奖策略奖品信息缓存键前缀 */
        public static String STRATEGY_AWARD_KEY = "big_market_strategy_award_key_";

        /** 抽奖策略奖品列表缓存键前缀 */
        public static String STRATEGY_AWARD_LIST_KEY = "big_market_strategy_award_list_key_";

        /** 抽奖策略概率表缓存键前缀 */
        public static String STRATEGY_RATE_TABLE_KEY = "big_market_strategy_rate_table_key_";

        /** 抽奖策略概率范围缓存键前缀 */
        public static String STRATEGY_RATE_RANGE_KEY = "big_market_strategy_rate_range_key_";

        /** 规则树VO对象缓存键前缀 */
        public static String RULE_TREE_VO_KEY = "rule_tree_vo_key_";

        /** 抽奖策略奖品计数缓存键前缀 */
        public static String STRATEGY_AWARD_COUNT_KEY = "strategy_award_count_key";

        /** 抽奖策略奖品计数查询缓存键前缀 */
        public static String STRATEGY_AWARD_COUNT_QUERY_KEY = "strategy_award_count_query_key";

        /** 抽奖策略权重规则缓存键前缀 */
        public static String STRATEGY_RULE_WEIGHT_KEY = "strategy_rule_weight_key_";

        /** 活动SKU数量查询缓存键前缀 */
        public static String ACTIVITY_SKU_COUNT_QUERY_KEY = "activity_sku_count_query_key";

        /** 活动SKU库存数量缓存键前缀 */
        public static String ACTIVITY_SKU_STOCK_COUNT_KEY = "activity_sku_stock_count_key_";

        /** 活动SKU数量清除缓存键前缀 */
        public static String ACTIVITY_SKU_COUNT_CLEAR_KEY = "activity_sku_count_clear_key_";

        /** 活动账户锁定缓存键前缀 */
        public static String ACTIVITY_ACCOUNT_LOCK = "activity_account_lock_";

        /** 活动账户更新锁定缓存键前缀 */
        public static String ACTIVITY_ACCOUNT_UPDATE_LOCK = "activity_account_update_lock_";

        /** 用户积分账户锁定缓存键前缀 */
        public static String USER_CREDIT_ACCOUNT_LOCK = "user_credit_account_lock_";

        /** 抽奖策略武器库算法缓存键前缀 */
        public static String STRATEGY_ARMORY_ALGORITHM_KEY = "strategy_armory_algorithm_key_";
    }
}
